import java.util.Scanner;

/**
 * 【程序6】   
 * 题目：输入两个正整数m和n，求其最大公约数和最小公倍数。   
 * 在循环中，只要除数不等于0，用较大数除以较小的数，
 * 将小的一个数作为下一轮循环的大数，取得的余数作为下一轮循环的较小的数，
 * 如此循环直到较小的数的值为0，返回较大的数，此数即为最大公约数，
 * 最小公倍数为两数之积除以最大公约数。
 */
public class test6 {
    public static void main(String[] args) {
        Scanner sc1 = new Scanner(System.in);
        Scanner sc2 = new Scanner(System.in);
        System.out.print("请输入正整数m：");
        int max = sc1.nextInt();
        System.out.print("请输入正整数n：");
        int min = sc2.nextInt();
        int product = max * min;
        loop1:
        while (true) {
            loop2:
            while (true) {
                if (min == 0) {
                    System.out.println("最大公约数为：" + max);
                    break loop2;
                }
                if (max > min) {
                    int a = min;
                    min = max % min;
                    max = a;
                } else if (max == min) {
                    System.out.println("最大公约数为：" + max);
                    break loop2;
                } else {
                    int b = max;
                    max = min;
                    min = b;
                    int a = min;
                    min = max % min;
                    max = a;
                }
            }
            System.out.println("最小公倍数为：" + product / max);
            break loop1;
        }
    }
}
